{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Iris"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 实验说明\n",
    "\n",
    "在这个实验中,将会对鸢尾花数据进行分类."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from sklearn import preprocessing\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.preprocessing import StandardScaler, PolynomialFeatures\n",
    "from sklearn.pipeline import Pipeline\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib as mpl\n",
    "import matplotlib.patches as mpatches"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "path = 'iris.data'  # 数据文件路径\n",
    "data = pd.read_csv(path, header=None)\n",
    "data[4] = pd.Categorical(data[4]).codes\n",
    "# iris_types = data[4].unique()\n",
    "# print iris_types\n",
    "# for i, type in enumerate(iris_types):\n",
    "#     data.set_value(data[4] == type, 4, i)\n",
    "x, y = np.split(data.values, (4,), axis=1)\n",
    "# print 'x = \\n', x\n",
    "# print 'y = \\n', y\n",
    "# 仅使用前两列特征\n",
    "x = x[:, :2]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "本实验中我们通过pandas直接读取csv格式的数据.\n",
    "\n",
    "以下的代码用于展示手动读取数据的方法,供参考."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "# # # 手动读取数据\n",
    "# f = file(path)\n",
    "# x = []\n",
    "# y = []\n",
    "# for d in f:\n",
    "#     d = d.strip()\n",
    "#     if d:\n",
    "#         d = d.split(',')\n",
    "#         y.append(d[-1])\n",
    "#         x.append(map(float, d[:-1]))\n",
    "# print '原始数据X：\\n', x\n",
    "# print '原始数据Y：\\n', y\n",
    "# x = np.array(x)\n",
    "# print 'Numpy格式X：\\n', x\n",
    "# y = np.array(y)\n",
    "# print 'Numpy格式Y - 1:\\n', y\n",
    "# y[y == 'Iris-setosa'] = 0\n",
    "# y[y == 'Iris-versicolor'] = 1\n",
    "# y[y == 'Iris-virginica'] = 2\n",
    "# print 'Numpy格式Y - 2:\\n', y\n",
    "# y = y.astype(dtype=np.int)\n",
    "# print 'Numpy格式Y - 3:\\n', y\n",
    "# print '\\n\\n============================================\\n\\n'\n",
    "\n",
    "# # 使用sklearn的数据预处理\n",
    "# df = pd.read_csv(path, header=None)\n",
    "# x = df.values[:, :-1]\n",
    "# y = df.values[:, -1]\n",
    "# print x.shape\n",
    "# print y.shape\n",
    "# print 'x = \\n', x\n",
    "# print 'y = \\n', y\n",
    "# le = preprocessing.LabelEncoder()\n",
    "# le.fit(['Iris-setosa', 'Iris-versicolor', 'Iris-virginica'])\n",
    "# print le.classes_\n",
    "# y = le.transform(y)\n",
    "# print 'Last Version, y = \\n', y\n",
    "\n",
    "# def iris_type(s):\n",
    "#     it = {'Iris-setosa': 0,\n",
    "#           'Iris-versicolor': 1,\n",
    "#           'Iris-virginica': 2}\n",
    "#     return it[s]\n",
    "#\n",
    "# # 路径，浮点型数据，逗号分隔，第4列使用函数iris_type单独处理\n",
    "# data = np.loadtxt(path, dtype=float, delimiter=',',\n",
    "#                   converters={4: iris_type})"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "y_hat = \n",
      " [ 0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.\n",
      "  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.\n",
      "  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  0.  2.  2.  2.  1.\n",
      "  2.  1.  2.  1.  2.  1.  1.  1.  1.  1.  1.  2.  1.  1.  1.  1.  1.  1.\n",
      "  2.  1.  2.  2.  1.  2.  1.  1.  1.  1.  1.  1.  1.  2.  2.  1.  1.  1.\n",
      "  1.  1.  1.  1.  1.  1.  1.  1.  1.  1.  2.  1.  2.  2.  2.  2.  2.  2.\n",
      "  2.  2.  2.  2.  2.  1.  1.  2.  2.  2.  2.  1.  2.  1.  2.  2.  2.  2.\n",
      "  1.  1.  2.  2.  2.  2.  2.  2.  2.  2.  2.  2.  1.  2.  2.  2.  1.  2.\n",
      "  2.  2.  2.  2.  2.  1.]\n",
      "y_hat_prob = \n",
      " [[ 0.99678646  0.00132902  0.00188452]\n",
      " [ 0.97894169  0.00814912  0.01290919]\n",
      " [ 0.99999997  0.00000001  0.00000002]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.9999993   0.00000003  0.00000067]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.9936632   0.00364446  0.00269234]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.98890495  0.00586     0.00523505]\n",
      " [ 0.99999998  0.          0.00000001]\n",
      " [ 0.99999875  0.00000052  0.00000073]\n",
      " [ 0.99890564  0.00005675  0.00103761]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.99678646  0.00132902  0.00188452]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.66519084  0.23921208  0.09559707]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.86861152  0.10158034  0.02980814]\n",
      " [ 0.99999875  0.00000052  0.00000073]\n",
      " [ 0.83656176  0.11939138  0.04404686]\n",
      " [ 0.9936632   0.00364446  0.00269234]\n",
      " [ 0.98670445  0.00649883  0.00679672]\n",
      " [ 0.88387894  0.08337432  0.03274674]\n",
      " [ 0.99999997  0.00000001  0.00000002]\n",
      " [ 0.99975217  0.00004709  0.00020073]\n",
      " [ 0.66519084  0.23921208  0.09559707]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.98890495  0.00586     0.00523505]\n",
      " [ 0.93560676  0.04825812  0.01613511]\n",
      " [ 0.89375134  0.05741865  0.04883001]\n",
      " [ 0.98890495  0.00586     0.00523505]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.96036104  0.02659658  0.01304238]\n",
      " [ 0.99965946  0.00010944  0.00023111]\n",
      " [ 0.99101088  0.          0.00898912]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.99965946  0.00010944  0.00023111]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.99890564  0.00005675  0.00103761]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 1.          0.          0.        ]\n",
      " [ 0.97219071  0.01939094  0.00841835]\n",
      " [ 0.00000007  0.36511769  0.63488223]\n",
      " [ 0.03727194  0.35915854  0.60356952]\n",
      " [ 0.0000383   0.42036838  0.57959331]\n",
      " [ 0.          0.99959712  0.00040288]\n",
      " [ 0.01272296  0.42775738  0.55951966]\n",
      " [ 0.04568546  0.68212675  0.27218779]\n",
      " [ 0.05770469  0.33508124  0.60721407]\n",
      " [ 0.00000001  0.998333    0.00166698]\n",
      " [ 0.0103781   0.45535962  0.53426228]\n",
      " [ 0.06296867  0.73074587  0.20628546]\n",
      " [ 0.          1.          0.        ]\n",
      " [ 0.06431504  0.60430637  0.33137859]\n",
      " [ 0.          0.50616987  0.49383013]\n",
      " [ 0.03993     0.54691087  0.41315913]\n",
      " [ 0.07305073  0.6953688   0.23158047]\n",
      " [ 0.00564096  0.37752107  0.61683797]\n",
      " [ 0.09606038  0.67426548  0.22967414]\n",
      " [ 0.02305185  0.64325349  0.33369466]\n",
      " [ 0.          0.99559253  0.00440747]\n",
      " [ 0.00009177  0.79967454  0.20023369]\n",
      " [ 0.09966045  0.55239267  0.34794688]\n",
      " [ 0.02949591  0.53570158  0.43480251]\n",
      " [ 0.00003654  0.32417981  0.67578365]\n",
      " [ 0.02949591  0.53570158  0.43480251]\n",
      " [ 0.02352969  0.45313932  0.52333099]\n",
      " [ 0.01250636  0.42238984  0.5651038 ]\n",
      " [ 0.00051399  0.55410064  0.44538537]\n",
      " [ 0.00507201  0.44418405  0.55074393]\n",
      " [ 0.04528761  0.58214141  0.37257098]\n",
      " [ 0.00597568  0.68921455  0.30480977]\n",
      " [ 0.          0.97399454  0.02600546]\n",
      " [ 0.          0.97399454  0.02600546]\n",
      " [ 0.02305185  0.64325349  0.33369466]\n",
      " [ 0.01901747  0.54976952  0.43121302]\n",
      " [ 0.14023149  0.68800699  0.17176152]\n",
      " [ 0.18950945  0.35820195  0.4522886 ]\n",
      " [ 0.00564096  0.37752107  0.61683797]\n",
      " [ 0.          0.97911984  0.02088016]\n",
      " [ 0.09606038  0.67426548  0.22967414]\n",
      " [ 0.0000944   0.86091764  0.13898796]\n",
      " [ 0.00676493  0.78026356  0.21297151]\n",
      " [ 0.04945086  0.53970052  0.41084862]\n",
      " [ 0.00560379  0.63206999  0.36232622]\n",
      " [ 0.          1.          0.        ]\n",
      " [ 0.02755073  0.72057053  0.25187875]\n",
      " [ 0.0832199   0.65531229  0.26146781]\n",
      " [ 0.06426856  0.6725508   0.26318065]\n",
      " [ 0.03465506  0.51120564  0.4541393 ]\n",
      " [ 0.00021082  0.8961422   0.10364698]\n",
      " [ 0.04568546  0.68212675  0.27218779]\n",
      " [ 0.05770469  0.33508124  0.60721407]\n",
      " [ 0.02305185  0.64325349  0.33369466]\n",
      " [ 0.          0.08772874  0.91227126]\n",
      " [ 0.02926562  0.47820365  0.49253073]\n",
      " [ 0.02077416  0.42214345  0.55708239]\n",
      " [ 0.          0.          1.        ]\n",
      " [ 0.00971008  0.09251257  0.89777735]\n",
      " [ 0.          0.00000002  0.99999998]\n",
      " [ 0.00000155  0.1074533   0.89254516]\n",
      " [ 0.          0.00000002  0.99999998]\n",
      " [ 0.02623604  0.32348035  0.65028361]\n",
      " [ 0.00988831  0.37433964  0.61577205]\n",
      " [ 0.0009212   0.47866972  0.52040908]\n",
      " [ 0.00008888  0.72280824  0.27710288]\n",
      " [ 0.0411449   0.64988326  0.30897184]\n",
      " [ 0.03727194  0.35915854  0.60356952]\n",
      " [ 0.02077416  0.42214345  0.55708239]\n",
      " [ 0.          0.          1.        ]\n",
      " [ 0.          0.          1.        ]\n",
      " [ 0.          0.50616987  0.49383013]\n",
      " [ 0.00003803  0.35161507  0.6483469 ]\n",
      " [ 0.0511003   0.70993229  0.23896741]\n",
      " [ 0.          0.          1.        ]\n",
      " [ 0.0124447   0.40803348  0.57952182]\n",
      " [ 0.00605384  0.19166716  0.802279  ]\n",
      " [ 0.          0.04255226  0.95744774]\n",
      " [ 0.02571081  0.49610015  0.47818904]\n",
      " [ 0.04945086  0.53970052  0.41084862]\n",
      " [ 0.01748225  0.43534515  0.5471726 ]\n",
      " [ 0.          0.00134502  0.99865498]\n",
      " [ 0.          0.          1.        ]\n",
      " [ 0.          0.00019654  0.99980346]\n",
      " [ 0.01748225  0.43534515  0.5471726 ]\n",
      " [ 0.02175907  0.46069179  0.51754913]\n",
      " [ 0.0042046   0.45014373  0.54565167]\n",
      " [ 0.          0.          1.        ]\n",
      " [ 0.08091657  0.22004761  0.69903582]\n",
      " [ 0.03292183  0.40798433  0.55909383]\n",
      " [ 0.05660097  0.57346811  0.36993092]\n",
      " [ 0.0000383   0.42036838  0.57959331]\n",
      " [ 0.00564096  0.37752107  0.61683797]\n",
      " [ 0.0000383   0.42036838  0.57959331]\n",
      " [ 0.02305185  0.64325349  0.33369466]\n",
      " [ 0.00103635  0.31566752  0.68329612]\n",
      " [ 0.00605384  0.19166716  0.802279  ]\n",
      " [ 0.00507201  0.44418405  0.55074393]\n",
      " [ 0.00003654  0.32417981  0.67578365]\n",
      " [ 0.02077416  0.42214345  0.55708239]\n",
      " [ 0.11050767  0.27272895  0.61676338]\n",
      " [ 0.06431504  0.60430637  0.33137859]]\n",
      "准确度：84.67%\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\linear_model\\base.py:340: RuntimeWarning: overflow encountered in exp\n",
      "  np.exp(prob, prob)\n"
     ]
    }
   ],
   "source": [
    "lr = Pipeline([('sc', StandardScaler()),\n",
    "                ('poly', PolynomialFeatures(degree=9)),\n",
    "                ('clf', LogisticRegression())])\n",
    "lr.fit(x, y.ravel())\n",
    "y_hat = lr.predict(x)\n",
    "y_hat_prob = lr.predict_proba(x)\n",
    "np.set_printoptions(suppress=True)\n",
    "print('y_hat = \\n', y_hat)\n",
    "print('y_hat_prob = \\n', y_hat_prob)\n",
    "print(u'准确度：%.2f%%' % (100*np.mean(y_hat == y.ravel())))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nBAIj/h/4BPUy9SpxbgAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1e9e2ad5208>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 画图\n",
    "N, M = 500, 500     # 横纵各采样多少个值\n",
    "x1_min, x1_max = x[:, 0].min(), x[:, 0].max()   # 第0列的范围\n",
    "x2_min, x2_max = x[:, 1].min(), x[:, 1].max()   # 第1列的范围\n",
    "t1 = np.linspace(x1_min, x1_max, N)\n",
    "t2 = np.linspace(x2_min, x2_max, M)\n",
    "x1, x2 = np.meshgrid(t1, t2)                    # 生成网格采样点\n",
    "x_test = np.stack((x1.flat, x2.flat), axis=1)   # 测试点\n",
    "\n",
    "# # 无意义，只是为了凑另外两个维度\n",
    "# x3 = np.ones(x1.size) * np.average(x[:, 2])\n",
    "# x4 = np.ones(x1.size) * np.average(x[:, 3])\n",
    "# x_test = np.stack((x1.flat, x2.flat, x3, x4), axis=1)  # 测试点\n",
    "mpl.rcParams['font.sans-serif'] = [u'simHei']\n",
    "mpl.rcParams['axes.unicode_minus'] = False\n",
    "cm_light = mpl.colors.ListedColormap(['#77E0A0', '#FF8080', '#A0A0FF'])\n",
    "cm_dark = mpl.colors.ListedColormap(['g', 'r', 'b'])\n",
    "y_hat = lr.predict(x_test)                  # 预测值\n",
    "y_hat = y_hat.reshape(x1.shape)                 # 使之与输入的形状相同\n",
    "plt.figure(facecolor='w')\n",
    "plt.pcolormesh(x1, x2, y_hat, cmap=cm_light)     # 预测值的显示\n",
    "plt.scatter(x[:, 0], x[:, 1], c=y.reshape(y.shape[0]), edgecolors='k', s=50, cmap=cm_dark)    # 样本的显示\n",
    "plt.xlabel(u'花萼长度', fontsize=14)\n",
    "plt.ylabel(u'花萼宽度', fontsize=14)\n",
    "plt.xlim(x1_min, x1_max)\n",
    "plt.ylim(x2_min, x2_max)\n",
    "plt.grid()\n",
    "patchs = [mpatches.Patch(color='#77E0A0', label='Iris-setosa'),\n",
    "            mpatches.Patch(color='#FF8080', label='Iris-versicolor'),\n",
    "            mpatches.Patch(color='#A0A0FF', label='Iris-virginica')]\n",
    "plt.legend(handles=patchs, fancybox=True, framealpha=0.8)\n",
    "plt.title(u'鸢尾花Logistic回归分类效果 - 标准化', fontsize=17)\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
